A haptic engine (also referred to as a vibration module) is a linear resonant actuator that determines one of acceleration, velocity and displacement of a moving mass. FIG. 8 shows a conventional haptic engine that has a housing and a mass arranged to move inside the housing. Here, the mass includes a stainless steel or tungsten cage that holds one or more coils. The conventional haptic engine also has one or more magnets (not shown in FIG. 8), which are affixed to the housing and correspond to the coils, and one or more sensing magnets (not shown in FIG. 8) which are attached to the cage. The conventional haptic engine further includes a primary flexible printed circuit (FPC) that is affixed to the housing to hold an array of magnetic-field sensors (not shown in FIG. 8). As such, the magnetic-field sensors are (i) spaced apart from the sensing magnet(s) along the z-axis, and (ii) disposed within the magnetic field provided by the sensing magnet(s). A displacement of the mass of the conventional haptic engine, when the mass is vibrated along the x-axis, is encoded in the magnetic field provided by the sensing magnet(s).
The primary FPC of the conventional haptic engine includes conductive traces. Some of the conductive traces of the primary FPC are used to carry, to a board-to-board (B2B) connector, sensing signals output by the magnetic-field sensors. A processor (not shown in FIG. 8) coupled with the conventional haptic engine through the B2B connector uses the sensing signals to determine the mass' displacement ΔX along the x-axis. A driving source (not shown in FIG. 8) coupled with the conventional haptic engine through the B2B connector provides driving currents to drive the coils. Some other of the conductive traces of the primary FPC are used to carry the driving currents from the B2B connector to driving nodes of the primary FPC. Each coil is connected to a corresponding driving node through a respective contact spring made from a conductive material. Note that, when the cage is in motion, a contact spring's end in contact with a driving node is at rest relative to the housing, while a contact spring's opposing end in contact with a coil port of the corresponding coil is moving along the x-axis, as dictated by the cage's motion. Typically, the coil port is part of a secondary flex (not shown in FIG. 8) affixed to the cage.
As shown in FIG. 8, when the cage carrying the coils is in motion along the x-axis, a first contact spring of a pair of contact springs expands and a second contact spring of the pair compresses to maintain electrical contact between the primary FPC and a first coil and a second coil, respectively. As illustrated, a volume reserved for the contact springs can be a significant fraction of the total volume of the cage. Additionally, the length of the contact springs, dictated by cage travel XMAX, limits the use of the cage volume. That is so because the coils cannot be arranged in, or extended over, a volume of the cage extending along the length of the contact springs. This unusable cage volume can be used only as mass, and cannot be used for efficient coil arrangements that could improve engine efficiency.
Moreover, the contact springs and their connections add unwanted resistance to the coils. In addition, the contact springs are typically difficult to manufacture and assemble inside the conventional haptic engine illustrated in FIG. 8.